namespace ext.grid
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// This class represents the primary interface of a component based grid control to represent data
	/// in a tabular format of rows and columns. The GridPanel is composed of the following:    {@link Ext.data.Store Store} : The Model holding the data records (rows)
	///    {@link Ext.grid.ColumnModel Column model} : Column makeup
	///    {@link Ext.grid.GridView View} : Encapsulates the user interface
	///    {@link Ext.grid.AbstractSelectionModel selection model} : Selection behavior
	///      Example usage:  
	/// var grid = new Ext.grid.GridPanel({
	/// {@link #store}: new {@link Ext.data.Store}({
	/// {@link Ext.data.Store#autoDestroy autoDestroy}: true,
	/// {@link Ext.data.Store#reader reader}: reader,
	/// {@link Ext.data.Store#data data}: xg.dummyData
	/// }),
	/// {@link #colModel}: new {@link Ext.grid.ColumnModel}({
	/// {@link Ext.grid.ColumnModel#defaults defaults}: {
	/// width: 120,
	/// sortable: true
	/// },
	/// {@link Ext.grid.ColumnModel#columns columns}: [
	/// {id: &apos;company&apos;, header: &apos;Company&apos;, width: 200, sortable: true, dataIndex:...
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;This class represents the primary interface of a component based grid control to represent data
	/// in a tabular format of rows and columns. The GridPanel is composed of the following:&lt;/p&gt;
	/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
	/// &lt;li&gt;&lt;b&gt;{@link Ext.data.Store Store}&lt;/b&gt; : The Model holding the data records (rows)
	/// &lt;div class=&quot;sub-desc&quot;&gt;&lt;/div&gt;&lt;/li&gt;
	/// &lt;li&gt;&lt;b&gt;{@link Ext.grid.ColumnModel Column model}&lt;/b&gt; : Column makeup
	/// &lt;div class=&quot;sub-desc&quot;&gt;&lt;/div&gt;&lt;/li&gt;
	/// &lt;li&gt;&lt;b&gt;{@link Ext.grid.GridView View}&lt;/b&gt; : Encapsulates the user interface
	/// &lt;div class=&quot;sub-desc&quot;&gt;&lt;/div&gt;&lt;/li&gt;
	/// &lt;li&gt;&lt;b&gt;{@link Ext.grid.AbstractSelectionModel selection model}&lt;/b&gt; : Selection behavior
	/// &lt;div class=&quot;sub-desc&quot;&gt;&lt;/div&gt;&lt;/li&gt;
	/// &lt;/ul&gt;&lt;/div&gt;
	/// &lt;p&gt;Example usage:&lt;/p&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// var grid = new Ext.grid.GridPanel({
	/// {@link #store}: new {@link Ext.data.Store}({
	/// {@link Ext.data.Store#autoDestroy autoDestroy}: true,
	/// {@link Ext.data.Store#reader reader}: reader,
	/// {@link Ext.data.Store#data data}: xg.dummyData
	/// }),
	/// {@link #colModel}: new {@link Ext.grid.ColumnModel}({
	/// {@link Ext.grid.ColumnModel#defaults defaults}: {
	/// width: 120,
	/// sortable: true
	/// },
	/// {@link Ext.grid.ColumnModel#columns columns}: [
	/// {id: &apos;company&apos;, header: &apos;Company&apos;, width: 200, sortable: true, dataIndex: &apos;company&apos;},
	/// {header: &apos;Price&apos;, renderer: Ext.util.Format.usMoney, dataIndex: &apos;price&apos;},
	/// {header: &apos;Change&apos;, dataIndex: &apos;change&apos;},
	/// {header: &apos;% Change&apos;, dataIndex: &apos;pctChange&apos;},
	/// // instead of specifying renderer: Ext.util.Format.dateRenderer(&apos;m/d/Y&apos;) use xtype
	/// {
	/// header: &apos;Last Updated&apos;, width: 135, dataIndex: &apos;lastChange&apos;,
	/// xtype: &apos;datecolumn&apos;, format: &apos;M d, Y&apos;
	/// }
	/// ],
	/// }),
	/// {@link #viewConfig}: {
	/// {@link Ext.grid.GridView#forceFit forceFit}: true,
	///
	/// // Return CSS class to apply to rows depending upon data values
	/// {@link Ext.grid.GridView#getRowClass getRowClass}: function(record, index) {
	/// var c = record.{@link Ext.data.Record#get get}(&apos;change&apos;);
	/// if (c &lt; 0) {
	/// return &apos;price-fall&apos;;
	/// } else if (c &gt; 0) {
	/// return &apos;price-rise&apos;;
	/// }
	/// }
	/// },
	/// {@link #sm}: new Ext.grid.RowSelectionModel({singleSelect:true}),
	/// width: 600,
	/// height: 300,
	/// frame: true,
	/// title: &apos;Framed with Row Selection and Horizontal Scrolling&apos;,
	/// iconCls: &apos;icon-grid&apos;
	/// });
	/// &lt;/code&gt;&lt;/pre&gt;
	/// &lt;p&gt;&lt;b&gt;&lt;u&gt;Notes:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
	/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
	/// &lt;li&gt;Although this class inherits many configuration options from base classes, some of them
	/// (such as autoScroll, autoWidth, layout, items, etc) are not used by this class, and will
	/// have no effect.&lt;/li&gt;
	/// &lt;li&gt;A grid &lt;b&gt;requires&lt;/b&gt; a width in which to scroll its columns, and a height in which to
	/// scroll its rows. These dimensions can either be set explicitly through the
	/// &lt;tt&gt;{@link Ext.BoxComponent#height height}&lt;/tt&gt; and &lt;tt&gt;{@link Ext.BoxComponent#width width}&lt;/tt&gt;
	/// configuration options or implicitly set by using the grid as a child item of a
	/// {@link Ext.Container Container} which will have a {@link Ext.Container#layout layout manager}
	/// provide the sizing of its child items (for example the Container of the Grid may specify
	/// &lt;tt&gt;{@link Ext.Container#layout layout}:&apos;fit&apos;&lt;/tt&gt;).&lt;/li&gt;
	/// &lt;li&gt;To access the data in a Grid, it is necessary to use the data model encapsulated
	/// by the {@link #store Store}. See the {@link #cellclick} event for more details.&lt;/li&gt;
	/// &lt;/ul&gt;&lt;/div&gt;
	/// </htmlSummary>
	/// <definedin>src\widgets\grid\GridPanel.js</definedin>
	[ScriptName("GridPanel")]
	[ScriptNamespace("Ext.grid")]
	[Imported()]
	public partial class GridPanel : ext.Panel
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config">The config object</param>
		public GridPanel(ext.grid.GridPanel_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public GridPanel()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>
		/// The {@link Ext.grid.Column#id id} of a {@link Ext.grid.Column column} in
		/// this grid that should expand to fill unused space. This value specified here can not
		/// be 0.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The &lt;tt&gt;{@link Ext.grid.Column#id id}&lt;/tt&gt; of a {@link Ext.grid.Column column} in
		/// this grid that should expand to fill unused space. This value specified here can not
		/// be &lt;tt&gt;0&lt;/tt&gt;.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: If the Grid&apos;s {@link Ext.grid.GridView view} is configured with
		/// &lt;tt&gt;{@link Ext.grid.GridView#forceFit forceFit}=true&lt;/tt&gt; the &lt;tt&gt;autoExpandColumn&lt;/tt&gt;
		/// is ignored. See {@link Ext.grid.Column}.&lt;tt&gt;{@link Ext.grid.Column#width width}&lt;/tt&gt;
		/// for additional details.&lt;/p&gt;
		/// &lt;p&gt;See &lt;tt&gt;{@link #autoExpandMax}&lt;/tt&gt; and &lt;tt&gt;{@link #autoExpandMin}&lt;/tt&gt; also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("autoExpandColumn")]
		public string AutoExpandColumn;
		
		/// <summary>
		/// The maximum width the {@link #autoExpandColumn}
		/// can have (if enabled). Defaults to 1000.
		/// </summary>
		/// <htmlSummary>
		/// The maximum width the &lt;tt&gt;{@link #autoExpandColumn}&lt;/tt&gt;
		/// can have (if enabled). Defaults to &lt;tt&gt;1000&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("autoExpandMax")]
		public System.Number AutoExpandMax;
		
		/// <summary>
		/// The minimum width the {@link #autoExpandColumn}
		/// can have (if enabled). Defaults to 50.
		/// </summary>
		/// <htmlSummary>
		/// The minimum width the &lt;tt&gt;{@link #autoExpandColumn}&lt;/tt&gt;
		/// can have (if enabled). Defaults to &lt;tt&gt;50&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("autoExpandMin")]
		public System.Number AutoExpandMin;
		
		/// <summary>
		/// true to add css for column separation lines.
		/// Default is false.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to add css for column separation lines.
		/// Default is &lt;tt&gt;false&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("columnLines")]
		public bool ColumnLines;
		
		/// <summary>Shorthand for {@link #colModel}.</summary>
		/// <htmlSummary>Shorthand for &lt;tt&gt;{@link #colModel}&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("cm")]
		public object Cm;
		
		/// <summary>The {@link Ext.grid.ColumnModel} to use when rendering the grid (required).</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("colModel")]
		public object ColModel;
		
		/// <summary>
		/// An array of {@link Ext.grid.Column columns} to auto create a
		/// {@link Ext.grid.ColumnModel}. The ColumnModel may be explicitly created via the
		/// {@link #colModel} configuration property.
		/// </summary>
		/// <htmlSummary>
		/// An array of {@link Ext.grid.Column columns} to auto create a
		/// {@link Ext.grid.ColumnModel}. The ColumnModel may be explicitly created via the
		/// &lt;tt&gt;{@link #colModel}&lt;/tt&gt; configuration property.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("columns")]
		public System.Array Columns;
		
		/// <summary>The DD group this GridPanel belongs to. Defaults to &apos;GridDD&apos; if not specified.</summary>
		/// <htmlSummary>The DD group this GridPanel belongs to. Defaults to &lt;tt&gt;&apos;GridDD&apos;&lt;/tt&gt; if not specified.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("ddGroup")]
		public string DdGroup;
		
		/// <summary>
		/// Configures the text in the drag proxy. Defaults to:
		/// 
		/// ddText : &apos;{0} selected row{1}&apos;
		/// {0} is replaced with the number of selected rows.
		/// </summary>
		/// <htmlSummary>
		/// Configures the text in the drag proxy. Defaults to:
		/// &lt;pre&gt;&lt;code&gt;
		/// ddText : &apos;{0} selected row{1}&apos;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;tt&gt;{0}&lt;/tt&gt; is replaced with the number of selected rows.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("ddText")]
		public string DdText;
		
		/// <summary>
		/// Defaults to true to enable deferred row rendering.  This allows the GridPanel to be initially rendered empty, with the expensive update of the row
		/// structure deferred so that layouts with GridPanels appear more quickly.
		/// </summary>
		/// <htmlSummary>
		/// &lt;P&gt;Defaults to &lt;tt&gt;true&lt;/tt&gt; to enable deferred row rendering.&lt;/p&gt;
		/// &lt;p&gt;This allows the GridPanel to be initially rendered empty, with the expensive update of the row
		/// structure deferred so that layouts with GridPanels appear more quickly.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("deferRowRender")]
		public bool DeferRowRender;
		
		/// <summary>true to disable selections in the grid. Defaults to false.  Ignored if a {@link #selModel SelectionModel} is specified.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;tt&gt;true&lt;/tt&gt; to disable selections in the grid. Defaults to &lt;tt&gt;false&lt;/tt&gt;.&lt;/p&gt;
		/// &lt;p&gt;Ignored if a {@link #selModel SelectionModel} is specified.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("disableSelection")]
		public bool DisableSelection;
		
		/// <summary>false to turn off column resizing for the whole grid. Defaults to true.</summary>
		/// <htmlSummary>&lt;tt&gt;false&lt;/tt&gt; to turn off column resizing for the whole grid. Defaults to &lt;tt&gt;true&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("enableColumnResize")]
		public bool EnableColumnResize;
		
		/// <summary>
		/// Defaults to true to enable {@link Ext.grid.Column#hidden hiding of columns}
		/// with the {@link #enableHdMenu header menu}.
		/// </summary>
		/// <htmlSummary>
		/// Defaults to &lt;tt&gt;true&lt;/tt&gt; to enable {@link Ext.grid.Column#hidden hiding of columns}
		/// with the {@link #enableHdMenu header menu}.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("enableColumnHide")]
		public bool EnableColumnHide;
		
		/// <summary>
		/// Defaults to true to enable drag and drop reorder of columns. false
		/// to turn off column reordering via drag drop.
		/// </summary>
		/// <htmlSummary>
		/// Defaults to &lt;tt&gt;true&lt;/tt&gt; to enable drag and drop reorder of columns. &lt;tt&gt;false&lt;/tt&gt;
		/// to turn off column reordering via drag drop.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("enableColumnMove")]
		public bool EnableColumnMove;
		
		/// <summary>
		/// Enables dragging of the selected rows of the GridPanel. Defaults to false.  Setting this to true causes this GridPanel&apos;s {@link #getView GridView} to
		/// create an instance of {@link Ext.grid.GridDragZone}. Note: this is available only after
		/// the Grid has been rendered as the GridView&apos;s {@link Ext.grid.GridView#dragZone dragZone}
		/// property.  A cooperating {@link Ext.dd.DropZone DropZone} must be created who&apos;s implementations of
		/// {@link Ext.dd.DropZone#onNodeEnter onNodeEnter}, {@link Ext.dd.DropZone#onNodeOver onNodeOver},
		/// {@link Ext.dd.DropZone#onNodeOut onNodeOut} and {@link Ext.dd.DropZone#onNodeDrop onNodeDrop} are able
		/// to process the {@link Ext.grid.GridDragZone#getDragData data} which is provided.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Enables dragging of the selected rows of the GridPanel. Defaults to &lt;tt&gt;false&lt;/tt&gt;.&lt;/p&gt;
		/// &lt;p&gt;Setting this to &lt;b&gt;&lt;tt&gt;true&lt;/tt&gt;&lt;/b&gt; causes this GridPanel&apos;s {@link #getView GridView} to
		/// create an instance of {@link Ext.grid.GridDragZone}. &lt;b&gt;Note&lt;/b&gt;: this is available only &lt;b&gt;after&lt;/b&gt;
		/// the Grid has been rendered as the GridView&apos;s &lt;tt&gt;{@link Ext.grid.GridView#dragZone dragZone}&lt;/tt&gt;
		/// property.&lt;/p&gt;
		/// &lt;p&gt;A cooperating {@link Ext.dd.DropZone DropZone} must be created who&apos;s implementations of
		/// {@link Ext.dd.DropZone#onNodeEnter onNodeEnter}, {@link Ext.dd.DropZone#onNodeOver onNodeOver},
		/// {@link Ext.dd.DropZone#onNodeOut onNodeOut} and {@link Ext.dd.DropZone#onNodeDrop onNodeDrop} are able
		/// to process the {@link Ext.grid.GridDragZone#getDragData data} which is provided.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("enableDragDrop")]
		public bool EnableDragDrop;
		
		/// <summary>Defaults to true to enable the drop down button for menu in the headers.</summary>
		/// <htmlSummary>Defaults to &lt;tt&gt;true&lt;/tt&gt; to enable the drop down button for menu in the headers.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("enableHdMenu")]
		public bool EnableHdMenu;
		
		/// <summary>True to hide the grid&apos;s header. Defaults to false.</summary>
		/// <htmlSummary>True to hide the grid&apos;s header. Defaults to &lt;code&gt;false&lt;/code&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("hideHeaders")]
		public bool HideHeaders;
		
		/// <summary>
		/// An {@link Ext.LoadMask} config or true to mask the grid while
		/// loading. Defaults to false.
		/// </summary>
		/// <htmlSummary>
		/// An {@link Ext.LoadMask} config or true to mask the grid while
		/// loading. Defaults to &lt;code&gt;false&lt;/code&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("loadMask")]
		public object LoadMask;
		
		/// <summary>Sets the maximum height of the grid - ignored if autoHeight is not on.</summary>
		/// <htmlSummary>Sets the maximum height of the grid - ignored if &lt;tt&gt;autoHeight&lt;/tt&gt; is not on.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("maxHeight")]
		public System.Number MaxHeight;
		
		/// <summary>The minimum width a column can be resized to. Defaults to 25.</summary>
		/// <htmlSummary>The minimum width a column can be resized to. Defaults to &lt;tt&gt;25&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("minColumnWidth")]
		public System.Number MinColumnWidth;
		
		/// <summary>Shorthand for {@link #selModel}.</summary>
		/// <htmlSummary>Shorthand for &lt;tt&gt;{@link #selModel}&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("sm")]
		public object Sm;
		
		/// <summary>
		/// Any subclass of {@link Ext.grid.AbstractSelectionModel} that will provide
		/// the selection model for the grid (defaults to {@link Ext.grid.RowSelectionModel} if not specified).
		/// </summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("selModel")]
		public object SelModel;
		
		/// <summary>The {@link Ext.data.Store} the grid should use as its data source (required).</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("store")]
		public ext.data.Store Store;
		
		/// <summary>
		/// true to stripe the rows. Default is false.
		/// This causes the CSS class x-grid3-row-alt to be added to alternate rows of
		/// the grid. A default CSS rule is provided which sets a background colour, but you can override this
		/// with a rule which either overrides the background-color style using the &apos;!important&apos;
		/// modifier, or which uses a CSS selector of higher specificity.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to stripe the rows. Default is &lt;tt&gt;false&lt;/tt&gt;.
		/// &lt;p&gt;This causes the CSS class &lt;tt&gt;&lt;b&gt;x-grid3-row-alt&lt;/b&gt;&lt;/tt&gt; to be added to alternate rows of
		/// the grid. A default CSS rule is provided which sets a background colour, but you can override this
		/// with a rule which either overrides the &lt;b&gt;background-color&lt;/b&gt; style using the &apos;!important&apos;
		/// modifier, or which uses a CSS selector of higher specificity.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("stripeRows")]
		public bool StripeRows;
		
		/// <summary>
		/// True to highlight rows when the mouse is over. Default is true
		/// for GridPanel, but false for EditorGridPanel.
		/// </summary>
		/// <htmlSummary>
		/// True to highlight rows when the mouse is over. Default is &lt;tt&gt;true&lt;/tt&gt;
		/// for GridPanel, but &lt;tt&gt;false&lt;/tt&gt; for EditorGridPanel.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("trackMouseOver")]
		public bool TrackMouseOver;
		
		/// <summary>
		/// An array of events that, when fired, should trigger this component to save its state.
		/// Defaults to: 
		/// stateEvents: [&apos;columnmove&apos;, &apos;columnresize&apos;, &apos;sortchange&apos;, &apos;groupchange&apos;]
		///  These can be any types of events supported by this component, including browser or
		/// custom events (e.g., [&apos;click&apos;, &apos;customerchange&apos;]).  See {@link Ext.Component#stateful} for an explanation of saving and restoring
		/// Component state.
		/// </summary>
		/// <htmlSummary>
		/// An array of events that, when fired, should trigger this component to save its state.
		/// Defaults to:&lt;pre&gt;&lt;code&gt;
		/// stateEvents: [&apos;columnmove&apos;, &apos;columnresize&apos;, &apos;sortchange&apos;, &apos;groupchange&apos;]
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;These can be any types of events supported by this component, including browser or
		/// custom events (e.g., &lt;tt&gt;[&apos;click&apos;, &apos;customerchange&apos;]&lt;/tt&gt;).&lt;/p&gt;
		/// &lt;p&gt;See {@link Ext.Component#stateful} for an explanation of saving and restoring
		/// Component state.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("stateEvents")]
		public System.Array StateEvents;
		
		/// <summary>
		/// The {@link Ext.grid.GridView} used by the grid. This can be set
		/// before a call to {@link Ext.Component#render render()}.
		/// </summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("view")]
		public object View;
		
		/// <summary>
		/// An array of events that, when fired, should be bubbled to any parent container.
		/// See {@link Ext.util.Observable#enableBubble}.
		/// Defaults to [].
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;An array of events that, when fired, should be bubbled to any parent container.
		/// See {@link Ext.util.Observable#enableBubble}.
		/// Defaults to &lt;tt&gt;[]&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("bubbleEvents")]
		public System.Array BubbleEvents;
		
		/// <summary>
		/// A config object that will be applied to the grid&apos;s UI view. Any of
		/// the config options available for {@link Ext.grid.GridView} can be specified here. This option
		/// is ignored if {@link #view} is specified.
		/// </summary>
		/// <htmlSummary>
		/// A config object that will be applied to the grid&apos;s UI view. Any of
		/// the config options available for {@link Ext.grid.GridView} can be specified here. This option
		/// is ignored if &lt;tt&gt;{@link #view}&lt;/tt&gt; is specified.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("viewConfig")]
		public object ViewConfig;
		
		/// <summary>The raw click event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("clickEventName")]
		public const string ClickEventName = "click";
		
		/// <summary>The raw dblclick event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("dblclickEventName")]
		public const string DblclickEventName = "dblclick";
		
		/// <summary>The raw contextmenu event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("contextmenuEventName")]
		public const string ContextmenuEventName = "contextmenu";
		
		/// <summary>The raw mousedown event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("mousedownEventName")]
		public const string MousedownEventName = "mousedown";
		
		/// <summary>The raw mouseup event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("mouseupEventName")]
		public const string MouseupEventName = "mouseup";
		
		/// <summary>The raw mouseover event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("mouseoverEventName")]
		public const string MouseoverEventName = "mouseover";
		
		/// <summary>The raw mouseout event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("mouseoutEventName")]
		public const string MouseoutEventName = "mouseout";
		
		/// <summary>The raw keypress event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("keypressEventName")]
		public const string KeypressEventName = "keypress";
		
		/// <summary>The raw keydown event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("keydownEventName")]
		public const string KeydownEventName = "keydown";
		
		/// <summary>Fires before a cell is clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("cellmousedownEventName")]
		public const string CellmousedownEventName = "cellmousedown";
		
		/// <summary>Fires before a row is clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowmousedownEventName")]
		public const string RowmousedownEventName = "rowmousedown";
		
		/// <summary>Fires before a header is clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("headermousedownEventName")]
		public const string HeadermousedownEventName = "headermousedown";
		
		/// <summary>Fires before a group header is clicked. Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}.</summary>
		/// <htmlSummary>Fires before a group header is clicked. &lt;b&gt;Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}&lt;/b&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("groupmousedownEventName")]
		public const string GroupmousedownEventName = "groupmousedown";
		
		/// <summary>Fires before the row body is clicked. Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.</summary>
		/// <htmlSummary>Fires before the row body is clicked. &lt;b&gt;Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.&lt;/b&gt;</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowbodymousedownEventName")]
		public const string RowbodymousedownEventName = "rowbodymousedown";
		
		/// <summary>Fires before the container is clicked. The container consists of any part of the grid body that is not covered by a row.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("containermousedownEventName")]
		public const string ContainermousedownEventName = "containermousedown";
		
		/// <summary>
		/// Fires when a cell is clicked.
		/// The data for the cell is drawn from the {@link Ext.data.Record Record}
		/// for this row. To access the data in the listener function use the
		/// following technique:
		/// 
		/// function(grid, rowIndex, columnIndex, e) {
		/// var record = grid.getStore().getAt(rowIndex); // Get the Record
		/// var fieldName = grid.getColumnModel().getDataIndex(columnIndex); // Get field name
		/// var data = record.get(fieldName);
		/// }
		/// </summary>
		/// <htmlSummary>
		/// Fires when a cell is clicked.
		/// The data for the cell is drawn from the {@link Ext.data.Record Record}
		/// for this row. To access the data in the listener function use the
		/// following technique:
		/// &lt;pre&gt;&lt;code&gt;
		/// function(grid, rowIndex, columnIndex, e) {
		/// var record = grid.getStore().getAt(rowIndex); // Get the Record
		/// var fieldName = grid.getColumnModel().getDataIndex(columnIndex); // Get field name
		/// var data = record.get(fieldName);
		/// }
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("cellclickEventName")]
		public const string CellclickEventName = "cellclick";
		
		/// <summary>Fires when a cell is double clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("celldblclickEventName")]
		public const string CelldblclickEventName = "celldblclick";
		
		/// <summary>Fires when a row is clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowclickEventName")]
		public const string RowclickEventName = "rowclick";
		
		/// <summary>Fires when a row is double clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowdblclickEventName")]
		public const string RowdblclickEventName = "rowdblclick";
		
		/// <summary>Fires when a header is clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("headerclickEventName")]
		public const string HeaderclickEventName = "headerclick";
		
		/// <summary>Fires when a header cell is double clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("headerdblclickEventName")]
		public const string HeaderdblclickEventName = "headerdblclick";
		
		/// <summary>Fires when group header is clicked. Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}.</summary>
		/// <htmlSummary>Fires when group header is clicked. &lt;b&gt;Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}&lt;/b&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("groupclickEventName")]
		public const string GroupclickEventName = "groupclick";
		
		/// <summary>Fires when group header is double clicked. Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}.</summary>
		/// <htmlSummary>Fires when group header is double clicked. &lt;b&gt;Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}&lt;/b&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("groupdblclickEventName")]
		public const string GroupdblclickEventName = "groupdblclick";
		
		/// <summary>Fires when the container is clicked. The container consists of any part of the grid body that is not covered by a row.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("containerclickEventName")]
		public const string ContainerclickEventName = "containerclick";
		
		/// <summary>Fires when the container is double clicked. The container consists of any part of the grid body that is not covered by a row.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("containerdblclickEventName")]
		public const string ContainerdblclickEventName = "containerdblclick";
		
		/// <summary>Fires when the row body is clicked. Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.</summary>
		/// <htmlSummary>Fires when the row body is clicked. &lt;b&gt;Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.&lt;/b&gt;</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowbodyclickEventName")]
		public const string RowbodyclickEventName = "rowbodyclick";
		
		/// <summary>Fires when the row body is double clicked. Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.</summary>
		/// <htmlSummary>Fires when the row body is double clicked. &lt;b&gt;Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.&lt;/b&gt;</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowbodydblclickEventName")]
		public const string RowbodydblclickEventName = "rowbodydblclick";
		
		/// <summary>Fires when a row is right clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowcontextmenuEventName")]
		public const string RowcontextmenuEventName = "rowcontextmenu";
		
		/// <summary>Fires when a cell is right clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("cellcontextmenuEventName")]
		public const string CellcontextmenuEventName = "cellcontextmenu";
		
		/// <summary>Fires when a header is right clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("headercontextmenuEventName")]
		public const string HeadercontextmenuEventName = "headercontextmenu";
		
		/// <summary>Fires when group header is right clicked. Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}.</summary>
		/// <htmlSummary>Fires when group header is right clicked. &lt;b&gt;Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}&lt;/b&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("groupcontextmenuEventName")]
		public const string GroupcontextmenuEventName = "groupcontextmenu";
		
		/// <summary>Fires when the container is right clicked. The container consists of any part of the grid body that is not covered by a row.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("containercontextmenuEventName")]
		public const string ContainercontextmenuEventName = "containercontextmenu";
		
		/// <summary>Fires when the row body is right clicked. Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.</summary>
		/// <htmlSummary>Fires when the row body is right clicked. &lt;b&gt;Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.&lt;/b&gt;</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowbodycontextmenuEventName")]
		public const string RowbodycontextmenuEventName = "rowbodycontextmenu";
		
		/// <summary>Fires when the body element is scrolled</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("bodyscrollEventName")]
		public const string BodyscrollEventName = "bodyscroll";
		
		/// <summary>Fires when the user resizes a column</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("columnresizeEventName")]
		public const string ColumnresizeEventName = "columnresize";
		
		/// <summary>Fires when the user moves a column</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("columnmoveEventName")]
		public const string ColumnmoveEventName = "columnmove";
		
		/// <summary>Fires when the grid&apos;s store sort changes</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("sortchangeEventName")]
		public const string SortchangeEventName = "sortchange";
		
		/// <summary>Fires when the grid&apos;s grouping changes (only applies for grids with a {@link Ext.grid.GroupingView GroupingView})</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("groupchangeEventName")]
		public const string GroupchangeEventName = "groupchange";
		
		/// <summary>Fires when the grid is reconfigured with a new store and/or column model.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("reconfigureEventName")]
		public const string ReconfigureEventName = "reconfigure";
		
		/// <summary>Fires when the grid view is available (use this for selecting a default row).</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("viewreadyEventName")]
		public const string ViewreadyEventName = "viewready";
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("activeItem")]
		public ext.auto.System_String_Or_System_Number ActiveItem;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("autoDestroy")]
		public bool AutoDestroy;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("autoLoad")]
		public ext.auto.System_Object_Or_System_String_Or_System_Delegate AutoLoad;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("autoWidth")]
		public bool AutoWidth;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("bufferResize")]
		public ext.auto.System_Boolean_Or_System_Number BufferResize;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("defaultType")]
		public string DefaultType;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("defaults")]
		public object Defaults;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("hideBorders")]
		public bool HideBorders;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("items")]
		public object Items;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("layout")]
		public string Layout;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("layoutConfig")]
		public object LayoutConfig;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("monitorResize")]
		public bool MonitorResize;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("allowDomMove")]
		public string AllowDomMove;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("autoEl")]
		public string AutoEl;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("applyTo")]
		public string ApplyTo;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("autoScroll")]
		public string AutoScroll;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("bodyBorder")]
		public string BodyBorder;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("bodyStyle")]
		public string BodyStyle;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("contentEl")]
		public string ContentEl;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("disabledClass")]
		public string DisabledClass;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("elements")]
		public string Elements;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("html")]
		public string Html;
		
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("preventBodyReset")]
		public bool PreventBodyReset;
		#endregion
		
		#region Methods
		/// <summary>
		/// Reconfigures the grid to use a different Store and Column Model
		/// and fires the &apos;reconfigure&apos; event. The View will be bound to the new
		/// objects and refreshed.  Be aware that upon reconfiguring a GridPanel, certain existing settings may become
		/// invalidated. For example the configured {@link #autoExpandColumn} may no longer exist in the
		/// new ColumnModel. Also, an existing {@link Ext.PagingToolbar PagingToolbar} will still be bound
		/// to the old Store, and will need rebinding. Any {@link #plugins} might also need reconfiguring
		/// with the new data.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Reconfigures the grid to use a different Store and Column Model
		/// and fires the &apos;reconfigure&apos; event. The View will be bound to the new
		/// objects and refreshed.&lt;/p&gt;
		/// &lt;p&gt;Be aware that upon reconfiguring a GridPanel, certain existing settings &lt;i&gt;may&lt;/i&gt; become
		/// invalidated. For example the configured {@link #autoExpandColumn} may no longer exist in the
		/// new ColumnModel. Also, an existing {@link Ext.PagingToolbar PagingToolbar} will still be bound
		/// to the old Store, and will need rebinding. Any {@link #plugins} might also need reconfiguring
		/// with the new data.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		/// <param name="store">The new {@link Ext.data.Store} object</param>
		/// <param name="colModel">The new {@link Ext.grid.ColumnModel} object</param>
		[ScriptName("reconfigure")]
		public void ReconfigureMethod(ext.data.Store store, ext.grid.ColumnModel colModel)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the grid&apos;s underlying element.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		/// <returns>The element</returns>
		[ScriptName("getGridEl")]
		public ext.Element GetGridEl()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Returns the grid&apos;s selection model configured by the {@link #selModel}
		/// configuration option. If no selection model was configured, this will create
		/// and return a {@link Ext.grid.RowSelectionModel RowSelectionModel}.
		/// </summary>
		/// <htmlSummary>
		/// Returns the grid&apos;s selection model configured by the &lt;code&gt;{@link #selModel}&lt;/code&gt;
		/// configuration option. If no selection model was configured, this will create
		/// and return a {@link Ext.grid.RowSelectionModel RowSelectionModel}.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("getSelectionModel")]
		public ext.grid.RowSelectionModel GetSelectionModel()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the grid&apos;s data store.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		/// <returns>The store</returns>
		[ScriptName("getStore")]
		public ext.data.Store GetStore()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the grid&apos;s ColumnModel.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		/// <returns>The column model</returns>
		[ScriptName("getColumnModel")]
		public ext.grid.ColumnModel GetColumnModel()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the grid&apos;s GridView object.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		/// <returns>The grid view</returns>
		[ScriptName("getView")]
		public ext.grid.GridView GetView()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Called to get grid&apos;s drag proxy text, by default returns this.ddText.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		/// <returns>The text</returns>
		[ScriptName("getDragDropText")]
		public string GetDragDropText()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>The raw click event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("click")]
		public event ext.auto.Delegate_ext_EventObject Click;
		
		/// <summary>The raw dblclick event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("dblclick")]
		public event ext.auto.Delegate_ext_EventObject Dblclick;
		
		/// <summary>The raw contextmenu event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("contextmenu")]
		public event ext.auto.Delegate_ext_EventObject Contextmenu;
		
		/// <summary>The raw mousedown event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("mousedown")]
		public event ext.auto.Delegate_ext_EventObject Mousedown;
		
		/// <summary>The raw mouseup event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("mouseup")]
		public event ext.auto.Delegate_ext_EventObject Mouseup;
		
		/// <summary>The raw mouseover event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("mouseover")]
		public event ext.auto.Delegate_ext_EventObject Mouseover;
		
		/// <summary>The raw mouseout event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("mouseout")]
		public event ext.auto.Delegate_ext_EventObject Mouseout;
		
		/// <summary>The raw keypress event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("keypress")]
		public event ext.auto.Delegate_ext_EventObject Keypress;
		
		/// <summary>The raw keydown event for the entire grid.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("keydown")]
		public event ext.auto.Delegate_ext_EventObject Keydown;
		
		/// <summary>Fires before a cell is clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("cellmousedown")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_System_Number_And_ext_EventObject Cellmousedown;
		
		/// <summary>Fires before a row is clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowmousedown")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Rowmousedown;
		
		/// <summary>Fires before a header is clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("headermousedown")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Headermousedown;
		
		/// <summary>Fires before a group header is clicked. Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}.</summary>
		/// <htmlSummary>Fires before a group header is clicked. &lt;b&gt;Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}&lt;/b&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("groupmousedown")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_String_And_System_String_And_ext_EventObject Groupmousedown;
		
		/// <summary>Fires before the row body is clicked. Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.</summary>
		/// <htmlSummary>Fires before the row body is clicked. &lt;b&gt;Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.&lt;/b&gt;</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowbodymousedown")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Rowbodymousedown;
		
		/// <summary>Fires before the container is clicked. The container consists of any part of the grid body that is not covered by a row.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("containermousedown")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_ext_EventObject Containermousedown;
		
		/// <summary>
		/// Fires when a cell is clicked.
		/// The data for the cell is drawn from the {@link Ext.data.Record Record}
		/// for this row. To access the data in the listener function use the
		/// following technique:
		/// 
		/// function(grid, rowIndex, columnIndex, e) {
		/// var record = grid.getStore().getAt(rowIndex); // Get the Record
		/// var fieldName = grid.getColumnModel().getDataIndex(columnIndex); // Get field name
		/// var data = record.get(fieldName);
		/// }
		/// </summary>
		/// <htmlSummary>
		/// Fires when a cell is clicked.
		/// The data for the cell is drawn from the {@link Ext.data.Record Record}
		/// for this row. To access the data in the listener function use the
		/// following technique:
		/// &lt;pre&gt;&lt;code&gt;
		/// function(grid, rowIndex, columnIndex, e) {
		/// var record = grid.getStore().getAt(rowIndex); // Get the Record
		/// var fieldName = grid.getColumnModel().getDataIndex(columnIndex); // Get field name
		/// var data = record.get(fieldName);
		/// }
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("cellclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_System_Number_And_ext_EventObject Cellclick;
		
		/// <summary>Fires when a cell is double clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("celldblclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_System_Number_And_ext_EventObject Celldblclick;
		
		/// <summary>Fires when a row is clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Rowclick;
		
		/// <summary>Fires when a row is double clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowdblclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Rowdblclick;
		
		/// <summary>Fires when a header is clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("headerclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Headerclick;
		
		/// <summary>Fires when a header cell is double clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("headerdblclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Headerdblclick;
		
		/// <summary>Fires when group header is clicked. Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}.</summary>
		/// <htmlSummary>Fires when group header is clicked. &lt;b&gt;Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}&lt;/b&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("groupclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_String_And_System_String_And_ext_EventObject Groupclick;
		
		/// <summary>Fires when group header is double clicked. Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}.</summary>
		/// <htmlSummary>Fires when group header is double clicked. &lt;b&gt;Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}&lt;/b&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("groupdblclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_String_And_System_String_And_ext_EventObject Groupdblclick;
		
		/// <summary>Fires when the container is clicked. The container consists of any part of the grid body that is not covered by a row.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("containerclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_ext_EventObject Containerclick;
		
		/// <summary>Fires when the container is double clicked. The container consists of any part of the grid body that is not covered by a row.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("containerdblclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_ext_EventObject Containerdblclick;
		
		/// <summary>Fires when the row body is clicked. Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.</summary>
		/// <htmlSummary>Fires when the row body is clicked. &lt;b&gt;Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.&lt;/b&gt;</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowbodyclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Rowbodyclick;
		
		/// <summary>Fires when the row body is double clicked. Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.</summary>
		/// <htmlSummary>Fires when the row body is double clicked. &lt;b&gt;Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.&lt;/b&gt;</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowbodydblclick")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Rowbodydblclick;
		
		/// <summary>Fires when a row is right clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowcontextmenu")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Rowcontextmenu;
		
		/// <summary>Fires when a cell is right clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("cellcontextmenu")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_System_Number_And_ext_EventObject Cellcontextmenu;
		
		/// <summary>Fires when a header is right clicked</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("headercontextmenu")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Headercontextmenu;
		
		/// <summary>Fires when group header is right clicked. Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}.</summary>
		/// <htmlSummary>Fires when group header is right clicked. &lt;b&gt;Only applies for grids with a {@link Ext.grid.GroupingView GroupingView}&lt;/b&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("groupcontextmenu")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_String_And_System_String_And_ext_EventObject Groupcontextmenu;
		
		/// <summary>Fires when the container is right clicked. The container consists of any part of the grid body that is not covered by a row.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("containercontextmenu")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_ext_EventObject Containercontextmenu;
		
		/// <summary>Fires when the row body is right clicked. Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.</summary>
		/// <htmlSummary>Fires when the row body is right clicked. &lt;b&gt;Only applies for grids with {@link Ext.grid.GridView#enableRowBody enableRowBody} configured.&lt;/b&gt;</htmlSummary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("rowbodycontextmenu")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Number_And_ext_EventObject Rowbodycontextmenu;
		
		/// <summary>Fires when the body element is scrolled</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("bodyscroll")]
		public event ext.auto.Delegate_System_Number_And_System_Number Bodyscroll;
		
		/// <summary>Fires when the user resizes a column</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("columnresize")]
		public event ext.auto.Delegate_System_Number_And_System_Number Columnresize;
		
		/// <summary>Fires when the user moves a column</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("columnmove")]
		public event ext.auto.Delegate_System_Number_And_System_Number Columnmove;
		
		/// <summary>Fires when the grid&apos;s store sort changes</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("sortchange")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_Object Sortchange;
		
		/// <summary>Fires when the grid&apos;s grouping changes (only applies for grids with a {@link Ext.grid.GroupingView GroupingView})</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("groupchange")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_System_String Groupchange;
		
		/// <summary>Fires when the grid is reconfigured with a new store and/or column model.</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("reconfigure")]
		public event ext.auto.Delegate_ext_grid_GridPanel_And_ext_data_Store_And_ext_grid_ColumnModel Reconfigure;
		
		/// <summary>Fires when the grid view is available (use this for selecting a default row).</summary>
		/// <definedin>src\widgets\grid\GridPanel.js</definedin>
		[ScriptName("viewready")]
		public event ext.auto.Delegate_ext_grid_GridPanel Viewready;
		#endregion
	}
}
